{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/lib/python3.4/importlib/_bootstrap.py:321: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n",
      "  return f(*args, **kwds)\n",
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "import glob\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from keras.preprocessing.image import ImageDataGenerator, load_img, img_to_array, array_to_img\n",
    "\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train dataset shape: (3000, 150, 150, 3) \tValidation dataset shape: (1000, 150, 150, 3)\n"
     ]
    }
   ],
   "source": [
    "IMG_DIM = (150, 150)\n",
    "\n",
    "train_files = glob.glob('training_data/*')\n",
    "train_imgs = [img_to_array(load_img(img, target_size=IMG_DIM)) for img in train_files]\n",
    "train_imgs = np.array(train_imgs)\n",
    "train_labels = [fn.split('/')[1].split('.')[0].strip() for fn in train_files]\n",
    "\n",
    "validation_files = glob.glob('validation_data/*')\n",
    "validation_imgs = [img_to_array(load_img(img, target_size=IMG_DIM)) for img in validation_files]\n",
    "validation_imgs = np.array(validation_imgs)\n",
    "validation_labels = [fn.split('/')[1].split('.')[0].strip() for fn in validation_files]\n",
    "\n",
    "print('Train dataset shape:', train_imgs.shape, \n",
    "      '\\tValidation dataset shape:', validation_imgs.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "train_imgs_scaled = train_imgs.astype('float32')\n",
    "validation_imgs_scaled = validation_imgs.astype('float32')\n",
    "train_imgs_scaled /= 255\n",
    "validation_imgs_scaled /= 255"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "['cat', 'dog', 'cat', 'dog', 'dog'] [0 1 0 1 1]\n"
     ]
    }
   ],
   "source": [
    "batch_size = 30\n",
    "num_classes = 2\n",
    "epochs = 30\n",
    "input_shape = (150, 150, 3)\n",
    "\n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "\n",
    "le = LabelEncoder()\n",
    "le.fit(train_labels)\n",
    "# encode wine type labels\n",
    "train_labels_enc = le.transform(train_labels)\n",
    "validation_labels_enc = le.transform(validation_labels)\n",
    "\n",
    "print(train_labels[0:5], train_labels_enc[0:5])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "input_1 (InputLayer)         (None, 150, 150, 3)       0         \n",
      "_________________________________________________________________\n",
      "block1_conv1 (Conv2D)        (None, 150, 150, 64)      1792      \n",
      "_________________________________________________________________\n",
      "block1_conv2 (Conv2D)        (None, 150, 150, 64)      36928     \n",
      "_________________________________________________________________\n",
      "block1_pool (MaxPooling2D)   (None, 75, 75, 64)        0         \n",
      "_________________________________________________________________\n",
      "block2_conv1 (Conv2D)        (None, 75, 75, 128)       73856     \n",
      "_________________________________________________________________\n",
      "block2_conv2 (Conv2D)        (None, 75, 75, 128)       147584    \n",
      "_________________________________________________________________\n",
      "block2_pool (MaxPooling2D)   (None, 37, 37, 128)       0         \n",
      "_________________________________________________________________\n",
      "block3_conv1 (Conv2D)        (None, 37, 37, 256)       295168    \n",
      "_________________________________________________________________\n",
      "block3_conv2 (Conv2D)        (None, 37, 37, 256)       590080    \n",
      "_________________________________________________________________\n",
      "block3_conv3 (Conv2D)        (None, 37, 37, 256)       590080    \n",
      "_________________________________________________________________\n",
      "block3_pool (MaxPooling2D)   (None, 18, 18, 256)       0         \n",
      "_________________________________________________________________\n",
      "block4_conv1 (Conv2D)        (None, 18, 18, 512)       1180160   \n",
      "_________________________________________________________________\n",
      "block4_conv2 (Conv2D)        (None, 18, 18, 512)       2359808   \n",
      "_________________________________________________________________\n",
      "block4_conv3 (Conv2D)        (None, 18, 18, 512)       2359808   \n",
      "_________________________________________________________________\n",
      "block4_pool (MaxPooling2D)   (None, 9, 9, 512)         0         \n",
      "_________________________________________________________________\n",
      "block5_conv1 (Conv2D)        (None, 9, 9, 512)         2359808   \n",
      "_________________________________________________________________\n",
      "block5_conv2 (Conv2D)        (None, 9, 9, 512)         2359808   \n",
      "_________________________________________________________________\n",
      "block5_conv3 (Conv2D)        (None, 9, 9, 512)         2359808   \n",
      "_________________________________________________________________\n",
      "block5_pool (MaxPooling2D)   (None, 4, 4, 512)         0         \n",
      "_________________________________________________________________\n",
      "flatten_1 (Flatten)          (None, 8192)              0         \n",
      "=================================================================\n",
      "Total params: 14,714,688\n",
      "Trainable params: 0\n",
      "Non-trainable params: 14,714,688\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "from keras.applications import vgg16\n",
    "from keras.models import Model\n",
    "import keras\n",
    "\n",
    "vgg = vgg16.VGG16(include_top=False, weights='imagenet', \n",
    "                                     input_shape=input_shape)\n",
    "\n",
    "output = vgg.layers[-1].output\n",
    "output = keras.layers.Flatten()(output)\n",
    "\n",
    "vgg_model = Model(vgg.input, output)\n",
    "vgg_model.trainable = False\n",
    "\n",
    "for layer in vgg_model.layers:\n",
    "    layer.trainable = False\n",
    "\n",
    "vgg_model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Layer Type</th>\n",
       "      <th>Layer Name</th>\n",
       "      <th>Layer Trainable</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>&lt;keras.engine.topology.InputLayer object at 0x7f26c86b2518&gt;</td>\n",
       "      <td>input_1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f277c9fc080&gt;</td>\n",
       "      <td>block1_conv1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c86b26d8&gt;</td>\n",
       "      <td>block1_conv2</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>&lt;keras.layers.pooling.MaxPooling2D object at 0x7f26c86e6c88&gt;</td>\n",
       "      <td>block1_pool</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c867dc18&gt;</td>\n",
       "      <td>block2_conv1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c8690f28&gt;</td>\n",
       "      <td>block2_conv2</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>&lt;keras.layers.pooling.MaxPooling2D object at 0x7f26c869e5c0&gt;</td>\n",
       "      <td>block2_pool</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c863f828&gt;</td>\n",
       "      <td>block3_conv1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c863f128&gt;</td>\n",
       "      <td>block3_conv2</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c86607b8&gt;</td>\n",
       "      <td>block3_conv3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>&lt;keras.layers.pooling.MaxPooling2D object at 0x7f26c83d7d68&gt;</td>\n",
       "      <td>block3_pool</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c83fd358&gt;</td>\n",
       "      <td>block4_conv1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c83fddd8&gt;</td>\n",
       "      <td>block4_conv2</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c839da20&gt;</td>\n",
       "      <td>block4_conv3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>&lt;keras.layers.pooling.MaxPooling2D object at 0x7f26c83ac1d0&gt;</td>\n",
       "      <td>block4_pool</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c834e978&gt;</td>\n",
       "      <td>block5_conv1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f271a15eb38&gt;</td>\n",
       "      <td>block5_conv2</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c8371d68&gt;</td>\n",
       "      <td>block5_conv3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>&lt;keras.layers.pooling.MaxPooling2D object at 0x7f26c8314b00&gt;</td>\n",
       "      <td>block5_pool</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>&lt;keras.layers.core.Flatten object at 0x7f26c828bda0&gt;</td>\n",
       "      <td>flatten_1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                      Layer Type  \\\n",
       "0   <keras.engine.topology.InputLayer object at 0x7f26c86b2518>    \n",
       "1   <keras.layers.convolutional.Conv2D object at 0x7f277c9fc080>   \n",
       "2   <keras.layers.convolutional.Conv2D object at 0x7f26c86b26d8>   \n",
       "3   <keras.layers.pooling.MaxPooling2D object at 0x7f26c86e6c88>   \n",
       "4   <keras.layers.convolutional.Conv2D object at 0x7f26c867dc18>   \n",
       "5   <keras.layers.convolutional.Conv2D object at 0x7f26c8690f28>   \n",
       "6   <keras.layers.pooling.MaxPooling2D object at 0x7f26c869e5c0>   \n",
       "7   <keras.layers.convolutional.Conv2D object at 0x7f26c863f828>   \n",
       "8   <keras.layers.convolutional.Conv2D object at 0x7f26c863f128>   \n",
       "9   <keras.layers.convolutional.Conv2D object at 0x7f26c86607b8>   \n",
       "10  <keras.layers.pooling.MaxPooling2D object at 0x7f26c83d7d68>   \n",
       "11  <keras.layers.convolutional.Conv2D object at 0x7f26c83fd358>   \n",
       "12  <keras.layers.convolutional.Conv2D object at 0x7f26c83fddd8>   \n",
       "13  <keras.layers.convolutional.Conv2D object at 0x7f26c839da20>   \n",
       "14  <keras.layers.pooling.MaxPooling2D object at 0x7f26c83ac1d0>   \n",
       "15  <keras.layers.convolutional.Conv2D object at 0x7f26c834e978>   \n",
       "16  <keras.layers.convolutional.Conv2D object at 0x7f271a15eb38>   \n",
       "17  <keras.layers.convolutional.Conv2D object at 0x7f26c8371d68>   \n",
       "18  <keras.layers.pooling.MaxPooling2D object at 0x7f26c8314b00>   \n",
       "19  <keras.layers.core.Flatten object at 0x7f26c828bda0>           \n",
       "\n",
       "      Layer Name  Layer Trainable  \n",
       "0   input_1       False            \n",
       "1   block1_conv1  False            \n",
       "2   block1_conv2  False            \n",
       "3   block1_pool   False            \n",
       "4   block2_conv1  False            \n",
       "5   block2_conv2  False            \n",
       "6   block2_pool   False            \n",
       "7   block3_conv1  False            \n",
       "8   block3_conv2  False            \n",
       "9   block3_conv3  False            \n",
       "10  block3_pool   False            \n",
       "11  block4_conv1  False            \n",
       "12  block4_conv2  False            \n",
       "13  block4_conv3  False            \n",
       "14  block4_pool   False            \n",
       "15  block5_conv1  False            \n",
       "16  block5_conv2  False            \n",
       "17  block5_conv3  False            \n",
       "18  block5_pool   False            \n",
       "19  flatten_1     False            "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "pd.set_option('max_colwidth', -1)\n",
    "\n",
    "layers = [(layer, layer.name, layer.trainable) for layer in vgg_model.layers]\n",
    "pd.DataFrame(layers, columns=['Layer Type', 'Layer Name', 'Layer Trainable'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Trainable layers: []\n"
     ]
    }
   ],
   "source": [
    "print(\"Trainable layers:\", vgg_model.trainable_weights)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1, 4, 4, 512)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x7f26c4667748>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f271a138160>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "bottleneck_feature_example = vgg.predict(train_imgs_scaled[0:1])\n",
    "print(bottleneck_feature_example.shape)\n",
    "plt.imshow(bottleneck_feature_example[0][:,:,0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def get_bottleneck_features(model, input_imgs):\n",
    "    \n",
    "    features = model.predict(input_imgs, verbose=0)\n",
    "    return features"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train Bottleneck Features: (3000, 8192) \tValidation Bottleneck Features: (1000, 8192)\n"
     ]
    }
   ],
   "source": [
    "train_features_vgg = get_bottleneck_features(vgg_model, train_imgs_scaled)\n",
    "validation_features_vgg = get_bottleneck_features(vgg_model, validation_imgs_scaled)\n",
    "\n",
    "print('Train Bottleneck Features:', train_features_vgg.shape, \n",
    "      '\\tValidation Bottleneck Features:', validation_features_vgg.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "input_2 (InputLayer)         (None, 8192)              0         \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 512)               4194816   \n",
      "_________________________________________________________________\n",
      "dropout_1 (Dropout)          (None, 512)               0         \n",
      "_________________________________________________________________\n",
      "dense_2 (Dense)              (None, 512)               262656    \n",
      "_________________________________________________________________\n",
      "dropout_2 (Dropout)          (None, 512)               0         \n",
      "_________________________________________________________________\n",
      "dense_3 (Dense)              (None, 1)                 513       \n",
      "=================================================================\n",
      "Total params: 4,457,985\n",
      "Trainable params: 4,457,985\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout, InputLayer\n",
    "from keras.models import Sequential\n",
    "from keras import optimizers\n",
    "\n",
    "input_shape = vgg_model.output_shape[1]\n",
    "\n",
    "model = Sequential()\n",
    "model.add(InputLayer(input_shape=(input_shape,)))\n",
    "model.add(Dense(512, activation='relu', input_dim=input_shape))\n",
    "model.add(Dropout(0.3))\n",
    "model.add(Dense(512, activation='relu'))\n",
    "model.add(Dropout(0.3))\n",
    "model.add(Dense(1, activation='sigmoid'))\n",
    "\n",
    "model.compile(loss='binary_crossentropy',\n",
    "              optimizer=optimizers.RMSprop(lr=1e-4),\n",
    "              metrics=['accuracy'])\n",
    "\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 3000 samples, validate on 1000 samples\n",
      "Epoch 1/30\n",
      "3000/3000 [==============================] - 1s 373us/step - loss: 0.4325 - acc: 0.7897 - val_loss: 0.2958 - val_acc: 0.8730\n",
      "Epoch 2/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.2857 - acc: 0.8783 - val_loss: 0.3294 - val_acc: 0.8530\n",
      "Epoch 3/30\n",
      "3000/3000 [==============================] - 1s 289us/step - loss: 0.2353 - acc: 0.9043 - val_loss: 0.2708 - val_acc: 0.8700\n",
      "Epoch 4/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.2059 - acc: 0.9133 - val_loss: 0.2651 - val_acc: 0.9050\n",
      "Epoch 5/30\n",
      "3000/3000 [==============================] - 1s 284us/step - loss: 0.1708 - acc: 0.9347 - val_loss: 0.2699 - val_acc: 0.8900\n",
      "Epoch 6/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.1486 - acc: 0.9363 - val_loss: 0.2632 - val_acc: 0.8980\n",
      "Epoch 7/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.1252 - acc: 0.9503 - val_loss: 0.2768 - val_acc: 0.8960\n",
      "Epoch 8/30\n",
      "3000/3000 [==============================] - 1s 288us/step - loss: 0.1017 - acc: 0.9600 - val_loss: 0.3309 - val_acc: 0.8770\n",
      "Epoch 9/30\n",
      "3000/3000 [==============================] - 1s 289us/step - loss: 0.0809 - acc: 0.9663 - val_loss: 0.3152 - val_acc: 0.9000\n",
      "Epoch 10/30\n",
      "3000/3000 [==============================] - 1s 289us/step - loss: 0.0708 - acc: 0.9733 - val_loss: 0.4637 - val_acc: 0.8860\n",
      "Epoch 11/30\n",
      "3000/3000 [==============================] - 1s 289us/step - loss: 0.0530 - acc: 0.9827 - val_loss: 0.3682 - val_acc: 0.8930\n",
      "Epoch 12/30\n",
      "3000/3000 [==============================] - 1s 289us/step - loss: 0.0489 - acc: 0.9837 - val_loss: 0.4188 - val_acc: 0.8970\n",
      "Epoch 13/30\n",
      "3000/3000 [==============================] - 1s 287us/step - loss: 0.0340 - acc: 0.9887 - val_loss: 0.4178 - val_acc: 0.8750\n",
      "Epoch 14/30\n",
      "3000/3000 [==============================] - 1s 289us/step - loss: 0.0262 - acc: 0.9893 - val_loss: 0.7070 - val_acc: 0.8400\n",
      "Epoch 15/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.0242 - acc: 0.9913 - val_loss: 0.4753 - val_acc: 0.8940\n",
      "Epoch 16/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.0149 - acc: 0.9950 - val_loss: 0.4921 - val_acc: 0.8930\n",
      "Epoch 17/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.0163 - acc: 0.9940 - val_loss: 1.4380 - val_acc: 0.7970\n",
      "Epoch 18/30\n",
      "3000/3000 [==============================] - 1s 287us/step - loss: 0.0294 - acc: 0.9920 - val_loss: 0.5347 - val_acc: 0.8950\n",
      "Epoch 19/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.0153 - acc: 0.9947 - val_loss: 0.5379 - val_acc: 0.9010\n",
      "Epoch 20/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.0182 - acc: 0.9940 - val_loss: 0.5389 - val_acc: 0.8960\n",
      "Epoch 21/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.0081 - acc: 0.9973 - val_loss: 0.9351 - val_acc: 0.8400\n",
      "Epoch 22/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.0171 - acc: 0.9950 - val_loss: 0.6473 - val_acc: 0.8740\n",
      "Epoch 23/30\n",
      "3000/3000 [==============================] - 1s 287us/step - loss: 0.0093 - acc: 0.9967 - val_loss: 0.6041 - val_acc: 0.8930\n",
      "Epoch 24/30\n",
      "3000/3000 [==============================] - 1s 287us/step - loss: 0.0026 - acc: 0.9993 - val_loss: 0.6880 - val_acc: 0.8950\n",
      "Epoch 25/30\n",
      "3000/3000 [==============================] - 1s 286us/step - loss: 0.0108 - acc: 0.9973 - val_loss: 0.7039 - val_acc: 0.8910\n",
      "Epoch 26/30\n",
      "3000/3000 [==============================] - 1s 285us/step - loss: 0.0030 - acc: 0.9990 - val_loss: 0.7526 - val_acc: 0.8820\n",
      "Epoch 27/30\n",
      "3000/3000 [==============================] - 1s 285us/step - loss: 0.0073 - acc: 0.9973 - val_loss: 0.7237 - val_acc: 0.8970\n",
      "Epoch 28/30\n",
      "3000/3000 [==============================] - 1s 285us/step - loss: 0.0037 - acc: 0.9987 - val_loss: 0.7852 - val_acc: 0.8940\n",
      "Epoch 29/30\n",
      "3000/3000 [==============================] - 1s 287us/step - loss: 0.0121 - acc: 0.9943 - val_loss: 0.7760 - val_acc: 0.8930\n",
      "Epoch 30/30\n",
      "3000/3000 [==============================] - 1s 287us/step - loss: 0.0102 - acc: 0.9987 - val_loss: 0.8344 - val_acc: 0.8720\n"
     ]
    }
   ],
   "source": [
    "history = model.fit(x=train_features_vgg, y=train_labels_enc,\n",
    "                    validation_data=(validation_features_vgg, validation_labels_enc),\n",
    "                    batch_size=batch_size,\n",
    "                    epochs=epochs,\n",
    "                    verbose=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f26c7db1be0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 4))\n",
    "t = f.suptitle('Pre-trained CNN (Transfer Learning) Performance', fontsize=12)\n",
    "f.subplots_adjust(top=0.85, wspace=0.3)\n",
    "\n",
    "epoch_list = list(range(1,31))\n",
    "ax1.plot(epoch_list, history.history['acc'], label='Train Accuracy')\n",
    "ax1.plot(epoch_list, history.history['val_acc'], label='Validation Accuracy')\n",
    "ax1.set_xticks(np.arange(0, 31, 5))\n",
    "ax1.set_ylabel('Accuracy Value')\n",
    "ax1.set_xlabel('Epoch')\n",
    "ax1.set_title('Accuracy')\n",
    "l1 = ax1.legend(loc=\"best\")\n",
    "\n",
    "ax2.plot(epoch_list, history.history['loss'], label='Train Loss')\n",
    "ax2.plot(epoch_list, history.history['val_loss'], label='Validation Loss')\n",
    "ax2.set_xticks(np.arange(0, 31, 5))\n",
    "ax2.set_ylabel('Loss Value')\n",
    "ax2.set_xlabel('Epoch')\n",
    "ax2.set_title('Loss')\n",
    "l2 = ax2.legend(loc=\"best\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "model.save('cats_dogs_tlearn_basic_cnn.h5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "train_datagen = ImageDataGenerator(rescale=1./255, zoom_range=0.3, rotation_range=50,\n",
    "                                   width_shift_range=0.2, height_shift_range=0.2, shear_range=0.2, \n",
    "                                   horizontal_flip=True, fill_mode='nearest')\n",
    "\n",
    "val_datagen = ImageDataGenerator(rescale=1./255)\n",
    "\n",
    "train_generator = train_datagen.flow(train_imgs, train_labels_enc, batch_size=30)\n",
    "val_generator = val_datagen.flow(validation_imgs, validation_labels_enc, batch_size=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "model_1 (Model)              (None, 8192)              14714688  \n",
      "_________________________________________________________________\n",
      "dense_4 (Dense)              (None, 512)               4194816   \n",
      "_________________________________________________________________\n",
      "dropout_3 (Dropout)          (None, 512)               0         \n",
      "_________________________________________________________________\n",
      "dense_5 (Dense)              (None, 512)               262656    \n",
      "_________________________________________________________________\n",
      "dropout_4 (Dropout)          (None, 512)               0         \n",
      "_________________________________________________________________\n",
      "dense_6 (Dense)              (None, 1)                 513       \n",
      "=================================================================\n",
      "Total params: 19,172,673\n",
      "Trainable params: 4,457,985\n",
      "Non-trainable params: 14,714,688\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout, InputLayer\n",
    "from keras.models import Sequential\n",
    "from keras import optimizers\n",
    "\n",
    "model = Sequential()\n",
    "model.add(vgg_model)\n",
    "model.add(Dense(512, activation='relu', input_dim=input_shape))\n",
    "model.add(Dropout(0.3))\n",
    "model.add(Dense(512, activation='relu'))\n",
    "model.add(Dropout(0.3))\n",
    "model.add(Dense(1, activation='sigmoid'))\n",
    "\n",
    "model.compile(loss='binary_crossentropy',\n",
    "              optimizer=optimizers.RMSprop(lr=2e-5),\n",
    "              metrics=['accuracy'])\n",
    "\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/100\n",
      "100/100 [==============================] - 45s 449ms/step - loss: 0.6511 - acc: 0.6153 - val_loss: 0.5147 - val_acc: 0.7840\n",
      "Epoch 2/100\n",
      "100/100 [==============================] - 41s 414ms/step - loss: 0.5651 - acc: 0.7110 - val_loss: 0.4249 - val_acc: 0.8180\n",
      "Epoch 3/100\n",
      "100/100 [==============================] - 41s 415ms/step - loss: 0.5069 - acc: 0.7527 - val_loss: 0.3790 - val_acc: 0.8260\n",
      "Epoch 4/100\n",
      "100/100 [==============================] - 42s 416ms/step - loss: 0.4803 - acc: 0.7717 - val_loss: 0.3569 - val_acc: 0.8410\n",
      "Epoch 5/100\n",
      "100/100 [==============================] - 42s 416ms/step - loss: 0.4491 - acc: 0.7897 - val_loss: 0.3427 - val_acc: 0.8400\n",
      "Epoch 6/100\n",
      "100/100 [==============================] - 42s 417ms/step - loss: 0.4201 - acc: 0.8027 - val_loss: 0.3238 - val_acc: 0.8470\n",
      "Epoch 7/100\n",
      "100/100 [==============================] - 42s 417ms/step - loss: 0.4193 - acc: 0.8070 - val_loss: 0.3092 - val_acc: 0.8620\n",
      "Epoch 8/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.4029 - acc: 0.8177 - val_loss: 0.3041 - val_acc: 0.8660\n",
      "Epoch 9/100\n",
      "100/100 [==============================] - 42s 417ms/step - loss: 0.3923 - acc: 0.8277 - val_loss: 0.2994 - val_acc: 0.8660\n",
      "Epoch 10/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3941 - acc: 0.8247 - val_loss: 0.2929 - val_acc: 0.8700\n",
      "Epoch 11/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.4004 - acc: 0.8157 - val_loss: 0.2931 - val_acc: 0.8760\n",
      "Epoch 12/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3838 - acc: 0.8257 - val_loss: 0.2910 - val_acc: 0.8650\n",
      "Epoch 13/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3851 - acc: 0.8267 - val_loss: 0.2868 - val_acc: 0.8750\n",
      "Epoch 14/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3698 - acc: 0.8290 - val_loss: 0.2817 - val_acc: 0.8770\n",
      "Epoch 15/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3651 - acc: 0.8380 - val_loss: 0.2838 - val_acc: 0.8740\n",
      "Epoch 16/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3698 - acc: 0.8263 - val_loss: 0.2945 - val_acc: 0.8760\n",
      "Epoch 17/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3726 - acc: 0.8357 - val_loss: 0.2790 - val_acc: 0.8770\n",
      "Epoch 18/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3493 - acc: 0.8423 - val_loss: 0.2750 - val_acc: 0.8760\n",
      "Epoch 19/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3525 - acc: 0.8410 - val_loss: 0.2760 - val_acc: 0.8830\n",
      "Epoch 20/100\n",
      "100/100 [==============================] - 42s 417ms/step - loss: 0.3510 - acc: 0.8433 - val_loss: 0.2732 - val_acc: 0.8850\n",
      "Epoch 21/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3481 - acc: 0.8437 - val_loss: 0.2724 - val_acc: 0.8870\n",
      "Epoch 22/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3570 - acc: 0.8430 - val_loss: 0.2744 - val_acc: 0.8800\n",
      "Epoch 23/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3402 - acc: 0.8453 - val_loss: 0.2728 - val_acc: 0.8830\n",
      "Epoch 24/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.3388 - acc: 0.8500 - val_loss: 0.2710 - val_acc: 0.8850\n",
      "Epoch 25/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3330 - acc: 0.8477 - val_loss: 0.2692 - val_acc: 0.8820\n",
      "Epoch 26/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3386 - acc: 0.8453 - val_loss: 0.2820 - val_acc: 0.8780\n",
      "Epoch 27/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.3406 - acc: 0.8490 - val_loss: 0.2799 - val_acc: 0.8780\n",
      "Epoch 28/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3387 - acc: 0.8500 - val_loss: 0.2682 - val_acc: 0.8820\n",
      "Epoch 29/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3427 - acc: 0.8470 - val_loss: 0.2926 - val_acc: 0.8750\n",
      "Epoch 30/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3269 - acc: 0.8583 - val_loss: 0.2730 - val_acc: 0.8950\n",
      "Epoch 31/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3198 - acc: 0.8507 - val_loss: 0.2859 - val_acc: 0.8840\n",
      "Epoch 32/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3253 - acc: 0.8517 - val_loss: 0.2680 - val_acc: 0.8880\n",
      "Epoch 33/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3418 - acc: 0.8500 - val_loss: 0.2850 - val_acc: 0.8800\n",
      "Epoch 34/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3217 - acc: 0.8663 - val_loss: 0.2748 - val_acc: 0.8850\n",
      "Epoch 35/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3246 - acc: 0.8593 - val_loss: 0.2650 - val_acc: 0.8980\n",
      "Epoch 36/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3174 - acc: 0.8623 - val_loss: 0.2771 - val_acc: 0.8870\n",
      "Epoch 37/100\n",
      "100/100 [==============================] - 42s 417ms/step - loss: 0.3300 - acc: 0.8533 - val_loss: 0.2726 - val_acc: 0.8910\n",
      "Epoch 38/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3171 - acc: 0.8620 - val_loss: 0.2640 - val_acc: 0.8980\n",
      "Epoch 39/100\n",
      "100/100 [==============================] - 42s 417ms/step - loss: 0.3202 - acc: 0.8613 - val_loss: 0.2619 - val_acc: 0.8910\n",
      "Epoch 40/100\n",
      "100/100 [==============================] - 42s 417ms/step - loss: 0.3154 - acc: 0.8637 - val_loss: 0.2740 - val_acc: 0.8920\n",
      "Epoch 41/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3223 - acc: 0.8600 - val_loss: 0.2605 - val_acc: 0.9000\n",
      "Epoch 42/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3196 - acc: 0.8610 - val_loss: 0.2723 - val_acc: 0.8870\n",
      "Epoch 43/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3140 - acc: 0.8610 - val_loss: 0.2669 - val_acc: 0.9020\n",
      "Epoch 44/100\n",
      "100/100 [==============================] - 42s 417ms/step - loss: 0.3181 - acc: 0.8603 - val_loss: 0.2603 - val_acc: 0.8990\n",
      "Epoch 45/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3215 - acc: 0.8630 - val_loss: 0.2615 - val_acc: 0.9010\n",
      "Epoch 46/100\n",
      "100/100 [==============================] - 42s 417ms/step - loss: 0.3162 - acc: 0.8607 - val_loss: 0.2683 - val_acc: 0.8920\n",
      "Epoch 47/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3139 - acc: 0.8607 - val_loss: 0.2654 - val_acc: 0.8970\n",
      "Epoch 48/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3178 - acc: 0.8627 - val_loss: 0.2640 - val_acc: 0.8990\n",
      "Epoch 49/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3127 - acc: 0.8653 - val_loss: 0.2781 - val_acc: 0.8880\n",
      "Epoch 50/100\n",
      "100/100 [==============================] - 42s 417ms/step - loss: 0.3168 - acc: 0.8620 - val_loss: 0.2615 - val_acc: 0.9000\n",
      "Epoch 51/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3126 - acc: 0.8683 - val_loss: 0.2612 - val_acc: 0.9000\n",
      "Epoch 52/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3095 - acc: 0.8713 - val_loss: 0.2609 - val_acc: 0.9020\n",
      "Epoch 53/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3070 - acc: 0.8610 - val_loss: 0.2853 - val_acc: 0.8830\n",
      "Epoch 54/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3002 - acc: 0.8717 - val_loss: 0.2675 - val_acc: 0.9010\n",
      "Epoch 55/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.3012 - acc: 0.8680 - val_loss: 0.2726 - val_acc: 0.8920\n",
      "Epoch 56/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2980 - acc: 0.8707 - val_loss: 0.2635 - val_acc: 0.9010\n",
      "Epoch 57/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2993 - acc: 0.8700 - val_loss: 0.2633 - val_acc: 0.9030\n",
      "Epoch 58/100\n",
      "100/100 [==============================] - 42s 420ms/step - loss: 0.3159 - acc: 0.8663 - val_loss: 0.2624 - val_acc: 0.9040\n",
      "Epoch 59/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2941 - acc: 0.8703 - val_loss: 0.2661 - val_acc: 0.9010\n",
      "Epoch 60/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.3066 - acc: 0.8717 - val_loss: 0.2650 - val_acc: 0.9000\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 61/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2994 - acc: 0.8717 - val_loss: 0.2770 - val_acc: 0.8860\n",
      "Epoch 62/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2866 - acc: 0.8827 - val_loss: 0.2690 - val_acc: 0.9020\n",
      "Epoch 63/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.3042 - acc: 0.8680 - val_loss: 0.2630 - val_acc: 0.9040\n",
      "Epoch 64/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2919 - acc: 0.8683 - val_loss: 0.2680 - val_acc: 0.9040\n",
      "Epoch 65/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2938 - acc: 0.8690 - val_loss: 0.2651 - val_acc: 0.9020\n",
      "Epoch 66/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2983 - acc: 0.8723 - val_loss: 0.2744 - val_acc: 0.8910\n",
      "Epoch 67/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2848 - acc: 0.8797 - val_loss: 0.2730 - val_acc: 0.8950\n",
      "Epoch 68/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.3095 - acc: 0.8757 - val_loss: 0.2674 - val_acc: 0.9020\n",
      "Epoch 69/100\n",
      "100/100 [==============================] - 42s 420ms/step - loss: 0.2844 - acc: 0.8817 - val_loss: 0.2666 - val_acc: 0.9030\n",
      "Epoch 70/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2906 - acc: 0.8693 - val_loss: 0.2657 - val_acc: 0.9010\n",
      "Epoch 71/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2945 - acc: 0.8777 - val_loss: 0.2707 - val_acc: 0.8950\n",
      "Epoch 72/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2974 - acc: 0.8713 - val_loss: 0.2715 - val_acc: 0.9010\n",
      "Epoch 73/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2894 - acc: 0.8767 - val_loss: 0.2677 - val_acc: 0.8960\n",
      "Epoch 74/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2894 - acc: 0.8773 - val_loss: 0.2642 - val_acc: 0.9060\n",
      "Epoch 75/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2903 - acc: 0.8753 - val_loss: 0.2738 - val_acc: 0.8920\n",
      "Epoch 76/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2933 - acc: 0.8770 - val_loss: 0.2605 - val_acc: 0.9080\n",
      "Epoch 77/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2852 - acc: 0.8773 - val_loss: 0.2753 - val_acc: 0.8970\n",
      "Epoch 78/100\n",
      "100/100 [==============================] - 42s 420ms/step - loss: 0.2769 - acc: 0.8793 - val_loss: 0.2673 - val_acc: 0.9030\n",
      "Epoch 79/100\n",
      "100/100 [==============================] - 42s 420ms/step - loss: 0.2797 - acc: 0.8850 - val_loss: 0.2705 - val_acc: 0.9040\n",
      "Epoch 80/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2918 - acc: 0.8737 - val_loss: 0.2761 - val_acc: 0.8940\n",
      "Epoch 81/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2831 - acc: 0.8843 - val_loss: 0.2656 - val_acc: 0.9130\n",
      "Epoch 82/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2762 - acc: 0.8860 - val_loss: 0.2756 - val_acc: 0.9000\n",
      "Epoch 83/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2866 - acc: 0.8777 - val_loss: 0.2628 - val_acc: 0.9050\n",
      "Epoch 84/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2793 - acc: 0.8820 - val_loss: 0.2634 - val_acc: 0.9070\n",
      "Epoch 85/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2736 - acc: 0.8860 - val_loss: 0.2784 - val_acc: 0.8960\n",
      "Epoch 86/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2818 - acc: 0.8793 - val_loss: 0.2713 - val_acc: 0.9070\n",
      "Epoch 87/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2728 - acc: 0.8843 - val_loss: 0.2730 - val_acc: 0.9010\n",
      "Epoch 88/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2837 - acc: 0.8737 - val_loss: 0.2720 - val_acc: 0.9000\n",
      "Epoch 89/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2725 - acc: 0.8807 - val_loss: 0.2793 - val_acc: 0.9050\n",
      "Epoch 90/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2873 - acc: 0.8830 - val_loss: 0.2716 - val_acc: 0.9010\n",
      "Epoch 91/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2737 - acc: 0.8803 - val_loss: 0.2712 - val_acc: 0.9060\n",
      "Epoch 92/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.2798 - acc: 0.8817 - val_loss: 0.2770 - val_acc: 0.8920\n",
      "Epoch 93/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.2904 - acc: 0.8827 - val_loss: 0.2667 - val_acc: 0.9070\n",
      "Epoch 94/100\n",
      "100/100 [==============================] - 42s 419ms/step - loss: 0.2683 - acc: 0.8933 - val_loss: 0.2876 - val_acc: 0.8930\n",
      "Epoch 95/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.2859 - acc: 0.8807 - val_loss: 0.2667 - val_acc: 0.9020\n",
      "Epoch 96/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.2821 - acc: 0.8840 - val_loss: 0.2666 - val_acc: 0.9030\n",
      "Epoch 97/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.2759 - acc: 0.8833 - val_loss: 0.2668 - val_acc: 0.9030\n",
      "Epoch 98/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.2646 - acc: 0.8933 - val_loss: 0.2775 - val_acc: 0.8980\n",
      "Epoch 99/100\n",
      "100/100 [==============================] - 42s 417ms/step - loss: 0.2656 - acc: 0.8907 - val_loss: 0.2757 - val_acc: 0.9050\n",
      "Epoch 100/100\n",
      "100/100 [==============================] - 42s 418ms/step - loss: 0.2876 - acc: 0.8833 - val_loss: 0.2665 - val_acc: 0.9000\n"
     ]
    }
   ],
   "source": [
    "history = model.fit_generator(train_generator, steps_per_epoch=100, epochs=100,\n",
    "                              validation_data=val_generator, validation_steps=50, verbose=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f26846fdba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 4))\n",
    "t = f.suptitle('Pre-trained CNN (Transfer Learning) with Image Augmentation Performance', fontsize=12)\n",
    "f.subplots_adjust(top=0.85, wspace=0.3)\n",
    "\n",
    "epoch_list = list(range(1,101))\n",
    "ax1.plot(epoch_list, history.history['acc'], label='Train Accuracy')\n",
    "ax1.plot(epoch_list, history.history['val_acc'], label='Validation Accuracy')\n",
    "ax1.set_xticks(np.arange(0, 101, 10))\n",
    "ax1.set_ylabel('Accuracy Value')\n",
    "ax1.set_xlabel('Epoch')\n",
    "ax1.set_title('Accuracy')\n",
    "l1 = ax1.legend(loc=\"best\")\n",
    "\n",
    "ax2.plot(epoch_list, history.history['loss'], label='Train Loss')\n",
    "ax2.plot(epoch_list, history.history['val_loss'], label='Validation Loss')\n",
    "ax2.set_xticks(np.arange(0, 101, 10))\n",
    "ax2.set_ylabel('Loss Value')\n",
    "ax2.set_xlabel('Epoch')\n",
    "ax2.set_title('Loss')\n",
    "l2 = ax2.legend(loc=\"best\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "model.save('cats_dogs_tlearn_img_aug_cnn.h5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Trainable layers: [<tf.Variable 'block4_conv1/kernel:0' shape=(3, 3, 256, 512) dtype=float32_ref>, <tf.Variable 'block4_conv1/bias:0' shape=(512,) dtype=float32_ref>, <tf.Variable 'block4_conv2/kernel:0' shape=(3, 3, 512, 512) dtype=float32_ref>, <tf.Variable 'block4_conv2/bias:0' shape=(512,) dtype=float32_ref>, <tf.Variable 'block4_conv3/kernel:0' shape=(3, 3, 512, 512) dtype=float32_ref>, <tf.Variable 'block4_conv3/bias:0' shape=(512,) dtype=float32_ref>, <tf.Variable 'block5_conv1/kernel:0' shape=(3, 3, 512, 512) dtype=float32_ref>, <tf.Variable 'block5_conv1/bias:0' shape=(512,) dtype=float32_ref>, <tf.Variable 'block5_conv2/kernel:0' shape=(3, 3, 512, 512) dtype=float32_ref>, <tf.Variable 'block5_conv2/bias:0' shape=(512,) dtype=float32_ref>, <tf.Variable 'block5_conv3/kernel:0' shape=(3, 3, 512, 512) dtype=float32_ref>, <tf.Variable 'block5_conv3/bias:0' shape=(512,) dtype=float32_ref>]\n"
     ]
    }
   ],
   "source": [
    "vgg_model.trainable = True\n",
    "\n",
    "set_trainable = False\n",
    "for layer in vgg_model.layers:\n",
    "    if layer.name in ['block5_conv1', 'block4_conv1']:\n",
    "        set_trainable = True\n",
    "    if set_trainable:\n",
    "        layer.trainable = True\n",
    "    else:\n",
    "        layer.trainable = False\n",
    "        \n",
    "print(\"Trainable layers:\", vgg_model.trainable_weights)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Layer Type</th>\n",
       "      <th>Layer Name</th>\n",
       "      <th>Layer Trainable</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>&lt;keras.engine.topology.InputLayer object at 0x7f26c86b2518&gt;</td>\n",
       "      <td>input_1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f277c9fc080&gt;</td>\n",
       "      <td>block1_conv1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c86b26d8&gt;</td>\n",
       "      <td>block1_conv2</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>&lt;keras.layers.pooling.MaxPooling2D object at 0x7f26c86e6c88&gt;</td>\n",
       "      <td>block1_pool</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c867dc18&gt;</td>\n",
       "      <td>block2_conv1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c8690f28&gt;</td>\n",
       "      <td>block2_conv2</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>&lt;keras.layers.pooling.MaxPooling2D object at 0x7f26c869e5c0&gt;</td>\n",
       "      <td>block2_pool</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c863f828&gt;</td>\n",
       "      <td>block3_conv1</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c863f128&gt;</td>\n",
       "      <td>block3_conv2</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c86607b8&gt;</td>\n",
       "      <td>block3_conv3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>&lt;keras.layers.pooling.MaxPooling2D object at 0x7f26c83d7d68&gt;</td>\n",
       "      <td>block3_pool</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c83fd358&gt;</td>\n",
       "      <td>block4_conv1</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c83fddd8&gt;</td>\n",
       "      <td>block4_conv2</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c839da20&gt;</td>\n",
       "      <td>block4_conv3</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>&lt;keras.layers.pooling.MaxPooling2D object at 0x7f26c83ac1d0&gt;</td>\n",
       "      <td>block4_pool</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c834e978&gt;</td>\n",
       "      <td>block5_conv1</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f271a15eb38&gt;</td>\n",
       "      <td>block5_conv2</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>&lt;keras.layers.convolutional.Conv2D object at 0x7f26c8371d68&gt;</td>\n",
       "      <td>block5_conv3</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>&lt;keras.layers.pooling.MaxPooling2D object at 0x7f26c8314b00&gt;</td>\n",
       "      <td>block5_pool</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>&lt;keras.layers.core.Flatten object at 0x7f26c828bda0&gt;</td>\n",
       "      <td>flatten_1</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                      Layer Type  \\\n",
       "0   <keras.engine.topology.InputLayer object at 0x7f26c86b2518>    \n",
       "1   <keras.layers.convolutional.Conv2D object at 0x7f277c9fc080>   \n",
       "2   <keras.layers.convolutional.Conv2D object at 0x7f26c86b26d8>   \n",
       "3   <keras.layers.pooling.MaxPooling2D object at 0x7f26c86e6c88>   \n",
       "4   <keras.layers.convolutional.Conv2D object at 0x7f26c867dc18>   \n",
       "5   <keras.layers.convolutional.Conv2D object at 0x7f26c8690f28>   \n",
       "6   <keras.layers.pooling.MaxPooling2D object at 0x7f26c869e5c0>   \n",
       "7   <keras.layers.convolutional.Conv2D object at 0x7f26c863f828>   \n",
       "8   <keras.layers.convolutional.Conv2D object at 0x7f26c863f128>   \n",
       "9   <keras.layers.convolutional.Conv2D object at 0x7f26c86607b8>   \n",
       "10  <keras.layers.pooling.MaxPooling2D object at 0x7f26c83d7d68>   \n",
       "11  <keras.layers.convolutional.Conv2D object at 0x7f26c83fd358>   \n",
       "12  <keras.layers.convolutional.Conv2D object at 0x7f26c83fddd8>   \n",
       "13  <keras.layers.convolutional.Conv2D object at 0x7f26c839da20>   \n",
       "14  <keras.layers.pooling.MaxPooling2D object at 0x7f26c83ac1d0>   \n",
       "15  <keras.layers.convolutional.Conv2D object at 0x7f26c834e978>   \n",
       "16  <keras.layers.convolutional.Conv2D object at 0x7f271a15eb38>   \n",
       "17  <keras.layers.convolutional.Conv2D object at 0x7f26c8371d68>   \n",
       "18  <keras.layers.pooling.MaxPooling2D object at 0x7f26c8314b00>   \n",
       "19  <keras.layers.core.Flatten object at 0x7f26c828bda0>           \n",
       "\n",
       "      Layer Name  Layer Trainable  \n",
       "0   input_1       False            \n",
       "1   block1_conv1  False            \n",
       "2   block1_conv2  False            \n",
       "3   block1_pool   False            \n",
       "4   block2_conv1  False            \n",
       "5   block2_conv2  False            \n",
       "6   block2_pool   False            \n",
       "7   block3_conv1  False            \n",
       "8   block3_conv2  False            \n",
       "9   block3_conv3  False            \n",
       "10  block3_pool   False            \n",
       "11  block4_conv1  True             \n",
       "12  block4_conv2  True             \n",
       "13  block4_conv3  True             \n",
       "14  block4_pool   True             \n",
       "15  block5_conv1  True             \n",
       "16  block5_conv2  True             \n",
       "17  block5_conv3  True             \n",
       "18  block5_pool   True             \n",
       "19  flatten_1     True             "
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "layers = [(layer, layer.name, layer.trainable) for layer in vgg_model.layers]\n",
    "pd.DataFrame(layers, columns=['Layer Type', 'Layer Name', 'Layer Trainable'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "train_datagen = ImageDataGenerator(rescale=1./255, zoom_range=0.3, rotation_range=50,\n",
    "                                   width_shift_range=0.2, height_shift_range=0.2, shear_range=0.2, \n",
    "                                   horizontal_flip=True, fill_mode='nearest')\n",
    "\n",
    "val_datagen = ImageDataGenerator(rescale=1./255)\n",
    "\n",
    "train_generator = train_datagen.flow(train_imgs, train_labels_enc, batch_size=30)\n",
    "val_generator = val_datagen.flow(validation_imgs, validation_labels_enc, batch_size=20)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "model_1 (Model)              (None, 8192)              14714688  \n",
      "_________________________________________________________________\n",
      "dense_7 (Dense)              (None, 512)               4194816   \n",
      "_________________________________________________________________\n",
      "dropout_5 (Dropout)          (None, 512)               0         \n",
      "_________________________________________________________________\n",
      "dense_8 (Dense)              (None, 512)               262656    \n",
      "_________________________________________________________________\n",
      "dropout_6 (Dropout)          (None, 512)               0         \n",
      "_________________________________________________________________\n",
      "dense_9 (Dense)              (None, 1)                 513       \n",
      "=================================================================\n",
      "Total params: 19,172,673\n",
      "Trainable params: 17,437,185\n",
      "Non-trainable params: 1,735,488\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout, InputLayer\n",
    "from keras.models import Sequential\n",
    "from keras import optimizers\n",
    "\n",
    "model = Sequential()\n",
    "model.add(vgg_model)\n",
    "model.add(Dense(512, activation='relu', input_dim=input_shape))\n",
    "model.add(Dropout(0.3))\n",
    "model.add(Dense(512, activation='relu'))\n",
    "model.add(Dropout(0.3))\n",
    "model.add(Dense(1, activation='sigmoid'))\n",
    "\n",
    "model.compile(loss='binary_crossentropy',\n",
    "              optimizer=optimizers.RMSprop(lr=1e-5),\n",
    "              metrics=['accuracy'])\n",
    "\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/100\n",
      "100/100 [==============================] - 64s 642ms/step - loss: 0.6070 - acc: 0.6547 - val_loss: 0.4029 - val_acc: 0.8250\n",
      "Epoch 2/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.3976 - acc: 0.8103 - val_loss: 0.2273 - val_acc: 0.9030\n",
      "Epoch 3/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.3440 - acc: 0.8530 - val_loss: 0.2221 - val_acc: 0.9150\n",
      "Epoch 4/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.2948 - acc: 0.8773 - val_loss: 0.2226 - val_acc: 0.9170\n",
      "Epoch 5/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.2514 - acc: 0.8933 - val_loss: 0.1539 - val_acc: 0.9440\n",
      "Epoch 6/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.2396 - acc: 0.8980 - val_loss: 0.2022 - val_acc: 0.9290\n",
      "Epoch 7/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.2209 - acc: 0.9107 - val_loss: 0.1316 - val_acc: 0.9460\n",
      "Epoch 8/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.2143 - acc: 0.9180 - val_loss: 0.1362 - val_acc: 0.9530\n",
      "Epoch 9/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.1908 - acc: 0.9277 - val_loss: 0.1713 - val_acc: 0.9410\n",
      "Epoch 10/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.1893 - acc: 0.9233 - val_loss: 0.1211 - val_acc: 0.9540\n",
      "Epoch 11/100\n",
      "100/100 [==============================] - 63s 632ms/step - loss: 0.1688 - acc: 0.9337 - val_loss: 0.1256 - val_acc: 0.9480\n",
      "Epoch 12/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.1586 - acc: 0.9310 - val_loss: 0.1481 - val_acc: 0.9470\n",
      "Epoch 13/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.1431 - acc: 0.9423 - val_loss: 0.1526 - val_acc: 0.9440\n",
      "Epoch 14/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.1520 - acc: 0.9397 - val_loss: 0.4011 - val_acc: 0.8820\n",
      "Epoch 15/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.1299 - acc: 0.9483 - val_loss: 0.1051 - val_acc: 0.9610\n",
      "Epoch 16/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.1298 - acc: 0.9437 - val_loss: 0.1191 - val_acc: 0.9560\n",
      "Epoch 17/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.1203 - acc: 0.9527 - val_loss: 0.1511 - val_acc: 0.9520\n",
      "Epoch 18/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.1234 - acc: 0.9487 - val_loss: 0.1937 - val_acc: 0.9390\n",
      "Epoch 19/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.1095 - acc: 0.9573 - val_loss: 0.1352 - val_acc: 0.9550\n",
      "Epoch 20/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.1226 - acc: 0.9557 - val_loss: 0.1414 - val_acc: 0.9540\n",
      "Epoch 21/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.1045 - acc: 0.9600 - val_loss: 0.1101 - val_acc: 0.9620\n",
      "Epoch 22/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.0936 - acc: 0.9580 - val_loss: 0.1191 - val_acc: 0.9590\n",
      "Epoch 23/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.1040 - acc: 0.9567 - val_loss: 0.1236 - val_acc: 0.9570\n",
      "Epoch 24/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.0962 - acc: 0.9643 - val_loss: 0.1576 - val_acc: 0.9500\n",
      "Epoch 25/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.0835 - acc: 0.9683 - val_loss: 0.1194 - val_acc: 0.9610\n",
      "Epoch 26/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.0770 - acc: 0.9723 - val_loss: 0.1303 - val_acc: 0.9580\n",
      "Epoch 27/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.0783 - acc: 0.9717 - val_loss: 0.1900 - val_acc: 0.9440\n",
      "Epoch 28/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.0742 - acc: 0.9693 - val_loss: 0.1768 - val_acc: 0.9480\n",
      "Epoch 29/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0898 - acc: 0.9650 - val_loss: 0.1129 - val_acc: 0.9660\n",
      "Epoch 30/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.0716 - acc: 0.9720 - val_loss: 0.2432 - val_acc: 0.9330\n",
      "Epoch 31/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.0747 - acc: 0.9727 - val_loss: 0.1230 - val_acc: 0.9610\n",
      "Epoch 32/100\n",
      "100/100 [==============================] - 63s 631ms/step - loss: 0.0609 - acc: 0.9737 - val_loss: 0.1688 - val_acc: 0.9560\n",
      "Epoch 33/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.0676 - acc: 0.9760 - val_loss: 0.1749 - val_acc: 0.9540\n",
      "Epoch 34/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.0643 - acc: 0.9750 - val_loss: 0.2389 - val_acc: 0.9480\n",
      "Epoch 35/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.0640 - acc: 0.9777 - val_loss: 0.1715 - val_acc: 0.9640\n",
      "Epoch 36/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0739 - acc: 0.9763 - val_loss: 0.1542 - val_acc: 0.9640\n",
      "Epoch 37/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0623 - acc: 0.9773 - val_loss: 0.1290 - val_acc: 0.9650\n",
      "Epoch 38/100\n",
      "100/100 [==============================] - 63s 630ms/step - loss: 0.0528 - acc: 0.9787 - val_loss: 0.1594 - val_acc: 0.9580\n",
      "Epoch 39/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0602 - acc: 0.9807 - val_loss: 0.2249 - val_acc: 0.9490\n",
      "Epoch 40/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0563 - acc: 0.9790 - val_loss: 0.1911 - val_acc: 0.9510\n",
      "Epoch 41/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0536 - acc: 0.9823 - val_loss: 0.1497 - val_acc: 0.9650\n",
      "Epoch 42/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0604 - acc: 0.9763 - val_loss: 0.3092 - val_acc: 0.9400\n",
      "Epoch 43/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0664 - acc: 0.9767 - val_loss: 0.1921 - val_acc: 0.9470\n",
      "Epoch 44/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0486 - acc: 0.9810 - val_loss: 0.2121 - val_acc: 0.9580\n",
      "Epoch 45/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0473 - acc: 0.9833 - val_loss: 0.1856 - val_acc: 0.9600\n",
      "Epoch 46/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0458 - acc: 0.9847 - val_loss: 0.1372 - val_acc: 0.9690\n",
      "Epoch 47/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0410 - acc: 0.9843 - val_loss: 0.1785 - val_acc: 0.9630\n",
      "Epoch 48/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0513 - acc: 0.9840 - val_loss: 0.1933 - val_acc: 0.9520\n",
      "Epoch 49/100\n",
      "100/100 [==============================] - 63s 627ms/step - loss: 0.0442 - acc: 0.9837 - val_loss: 0.1688 - val_acc: 0.9610\n",
      "Epoch 50/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0435 - acc: 0.9850 - val_loss: 0.1729 - val_acc: 0.9590\n",
      "Epoch 51/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0292 - acc: 0.9877 - val_loss: 0.1411 - val_acc: 0.9680\n",
      "Epoch 52/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0377 - acc: 0.9880 - val_loss: 0.1496 - val_acc: 0.9650\n",
      "Epoch 53/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0317 - acc: 0.9873 - val_loss: 0.1668 - val_acc: 0.9640\n",
      "Epoch 54/100\n",
      "100/100 [==============================] - 63s 627ms/step - loss: 0.0354 - acc: 0.9873 - val_loss: 0.1695 - val_acc: 0.9640\n",
      "Epoch 55/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0432 - acc: 0.9843 - val_loss: 0.1490 - val_acc: 0.9670\n",
      "Epoch 56/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0390 - acc: 0.9850 - val_loss: 0.1855 - val_acc: 0.9610\n",
      "Epoch 57/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0431 - acc: 0.9833 - val_loss: 0.1593 - val_acc: 0.9690\n",
      "Epoch 58/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0385 - acc: 0.9877 - val_loss: 0.2552 - val_acc: 0.9530\n",
      "Epoch 59/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0314 - acc: 0.9883 - val_loss: 0.1790 - val_acc: 0.9650\n",
      "Epoch 60/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0318 - acc: 0.9880 - val_loss: 0.2561 - val_acc: 0.9550\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 61/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0345 - acc: 0.9897 - val_loss: 0.1929 - val_acc: 0.9650\n",
      "Epoch 62/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0435 - acc: 0.9860 - val_loss: 0.1807 - val_acc: 0.9630\n",
      "Epoch 63/100\n",
      "100/100 [==============================] - 63s 627ms/step - loss: 0.0362 - acc: 0.9860 - val_loss: 0.2241 - val_acc: 0.9560\n",
      "Epoch 64/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0268 - acc: 0.9923 - val_loss: 0.1873 - val_acc: 0.9630\n",
      "Epoch 65/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0359 - acc: 0.9893 - val_loss: 0.1920 - val_acc: 0.9640\n",
      "Epoch 66/100\n",
      "100/100 [==============================] - 63s 627ms/step - loss: 0.0338 - acc: 0.9867 - val_loss: 0.2174 - val_acc: 0.9610\n",
      "Epoch 67/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0397 - acc: 0.9873 - val_loss: 0.1981 - val_acc: 0.9620\n",
      "Epoch 68/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0238 - acc: 0.9913 - val_loss: 0.1847 - val_acc: 0.9640\n",
      "Epoch 69/100\n",
      "100/100 [==============================] - 63s 626ms/step - loss: 0.0264 - acc: 0.9927 - val_loss: 0.1616 - val_acc: 0.9650\n",
      "Epoch 70/100\n",
      "100/100 [==============================] - 63s 626ms/step - loss: 0.0302 - acc: 0.9893 - val_loss: 0.1804 - val_acc: 0.9620\n",
      "Epoch 71/100\n",
      "100/100 [==============================] - 63s 626ms/step - loss: 0.0281 - acc: 0.9917 - val_loss: 0.2727 - val_acc: 0.9570\n",
      "Epoch 72/100\n",
      "100/100 [==============================] - 63s 627ms/step - loss: 0.0357 - acc: 0.9867 - val_loss: 0.2178 - val_acc: 0.9600\n",
      "Epoch 73/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0361 - acc: 0.9897 - val_loss: 0.2487 - val_acc: 0.9580\n",
      "Epoch 74/100\n",
      "100/100 [==============================] - 63s 627ms/step - loss: 0.0288 - acc: 0.9900 - val_loss: 0.3093 - val_acc: 0.9530\n",
      "Epoch 75/100\n",
      "100/100 [==============================] - 63s 626ms/step - loss: 0.0303 - acc: 0.9917 - val_loss: 0.2144 - val_acc: 0.9690\n",
      "Epoch 76/100\n",
      "100/100 [==============================] - 63s 626ms/step - loss: 0.0301 - acc: 0.9913 - val_loss: 0.2272 - val_acc: 0.9640\n",
      "Epoch 77/100\n",
      "100/100 [==============================] - 63s 625ms/step - loss: 0.0197 - acc: 0.9937 - val_loss: 0.3306 - val_acc: 0.9520\n",
      "Epoch 78/100\n",
      "100/100 [==============================] - 63s 625ms/step - loss: 0.0333 - acc: 0.9880 - val_loss: 0.1950 - val_acc: 0.9620\n",
      "Epoch 79/100\n",
      "100/100 [==============================] - 63s 626ms/step - loss: 0.0292 - acc: 0.9923 - val_loss: 0.2467 - val_acc: 0.9630\n",
      "Epoch 80/100\n",
      "100/100 [==============================] - 63s 626ms/step - loss: 0.0327 - acc: 0.9893 - val_loss: 0.1697 - val_acc: 0.9720\n",
      "Epoch 81/100\n",
      "100/100 [==============================] - 63s 625ms/step - loss: 0.0332 - acc: 0.9907 - val_loss: 0.1934 - val_acc: 0.9700\n",
      "Epoch 82/100\n",
      "100/100 [==============================] - 63s 625ms/step - loss: 0.0238 - acc: 0.9920 - val_loss: 0.2538 - val_acc: 0.9590\n",
      "Epoch 83/100\n",
      "100/100 [==============================] - 62s 624ms/step - loss: 0.0321 - acc: 0.9910 - val_loss: 0.2038 - val_acc: 0.9680\n",
      "Epoch 84/100\n",
      "100/100 [==============================] - 63s 626ms/step - loss: 0.0274 - acc: 0.9913 - val_loss: 0.1714 - val_acc: 0.9710\n",
      "Epoch 85/100\n",
      "100/100 [==============================] - 63s 626ms/step - loss: 0.0168 - acc: 0.9937 - val_loss: 0.2719 - val_acc: 0.9620\n",
      "Epoch 86/100\n",
      "100/100 [==============================] - 63s 625ms/step - loss: 0.0258 - acc: 0.9913 - val_loss: 0.3180 - val_acc: 0.9570\n",
      "Epoch 87/100\n",
      "100/100 [==============================] - 62s 625ms/step - loss: 0.0256 - acc: 0.9923 - val_loss: 0.2234 - val_acc: 0.9660\n",
      "Epoch 88/100\n",
      "100/100 [==============================] - 63s 625ms/step - loss: 0.0326 - acc: 0.9900 - val_loss: 0.1895 - val_acc: 0.9680\n",
      "Epoch 89/100\n",
      "100/100 [==============================] - 62s 625ms/step - loss: 0.0268 - acc: 0.9930 - val_loss: 0.1658 - val_acc: 0.9690\n",
      "Epoch 90/100\n",
      "100/100 [==============================] - 63s 625ms/step - loss: 0.0293 - acc: 0.9890 - val_loss: 0.2215 - val_acc: 0.9670\n",
      "Epoch 91/100\n",
      "100/100 [==============================] - 63s 625ms/step - loss: 0.0224 - acc: 0.9930 - val_loss: 0.2652 - val_acc: 0.9600\n",
      "Epoch 92/100\n",
      "100/100 [==============================] - 63s 627ms/step - loss: 0.0201 - acc: 0.9923 - val_loss: 0.4052 - val_acc: 0.9480\n",
      "Epoch 93/100\n",
      "100/100 [==============================] - 63s 627ms/step - loss: 0.0280 - acc: 0.9903 - val_loss: 0.2210 - val_acc: 0.9620\n",
      "Epoch 94/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0309 - acc: 0.9897 - val_loss: 0.1893 - val_acc: 0.9700\n",
      "Epoch 95/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0280 - acc: 0.9897 - val_loss: 0.2075 - val_acc: 0.9650\n",
      "Epoch 96/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0139 - acc: 0.9957 - val_loss: 0.1962 - val_acc: 0.9710\n",
      "Epoch 97/100\n",
      "100/100 [==============================] - 63s 627ms/step - loss: 0.0286 - acc: 0.9910 - val_loss: 0.2180 - val_acc: 0.9650\n",
      "Epoch 98/100\n",
      "100/100 [==============================] - 63s 628ms/step - loss: 0.0207 - acc: 0.9927 - val_loss: 0.2869 - val_acc: 0.9600\n",
      "Epoch 99/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0243 - acc: 0.9913 - val_loss: 0.2861 - val_acc: 0.9620\n",
      "Epoch 100/100\n",
      "100/100 [==============================] - 63s 629ms/step - loss: 0.0226 - acc: 0.9930 - val_loss: 0.3002 - val_acc: 0.9610\n"
     ]
    }
   ],
   "source": [
    "history = model.fit_generator(train_generator, steps_per_epoch=100, epochs=100,\n",
    "                              validation_data=val_generator, validation_steps=50, verbose=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nKaWUUkpZ4P8DMXX3knMSEwsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f2684045358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 4))\n",
    "t = f.suptitle('Pre-trained CNN (Transfer Learning) with Fine-Tuning & Image Augmentation Performance', fontsize=12)\n",
    "f.subplots_adjust(top=0.85, wspace=0.3)\n",
    "\n",
    "epoch_list = list(range(1,101))\n",
    "ax1.plot(epoch_list, history.history['acc'], label='Train Accuracy')\n",
    "ax1.plot(epoch_list, history.history['val_acc'], label='Validation Accuracy')\n",
    "ax1.set_xticks(np.arange(0, 101, 10))\n",
    "ax1.set_ylabel('Accuracy Value')\n",
    "ax1.set_xlabel('Epoch')\n",
    "ax1.set_title('Accuracy')\n",
    "l1 = ax1.legend(loc=\"best\")\n",
    "\n",
    "ax2.plot(epoch_list, history.history['loss'], label='Train Loss')\n",
    "ax2.plot(epoch_list, history.history['val_loss'], label='Validation Loss')\n",
    "ax2.set_xticks(np.arange(0, 101, 10))\n",
    "ax2.set_ylabel('Loss Value')\n",
    "ax2.set_xlabel('Epoch')\n",
    "ax2.set_title('Loss')\n",
    "l2 = ax2.legend(loc=\"best\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "model.save('cats_dogs_tlearn_finetune_img_aug_cnn.h5')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [default]",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
